home *** CD-ROM | disk | FTP | other *** search
Modula Implementation | 1997-01-15 | 1.5 KB | 62 lines | [TEXT/3PRM] |
- implementation module pointer;
-
- import mac_types;
-
- ClearLong :: !Ptr !Toolbox -> Toolbox;
- ClearLong ptr tb = ClearLong1 ptr;
-
- ClearLong1 :: !Ptr -> *Ptr;
- ClearLong1 p = code (p=D0)(q=D0){
- instruction 0x2040 || move.l d0,a0
- instruction 0x4290 || clr.l (a0)
- };
-
- LoadLong :: !Ptr !Toolbox -> (!Int,!Toolbox);
- LoadLong ptr tb = (LoadLong1 ptr, tb);
-
- LoadLong1 :: !Ptr -> Int;
- LoadLong1 p = code (p=D0)(r=D0){
- instruction 0x2040 || move.l d0,a0
- instruction 0x2010 || move.l (a0),d0
- };
-
- LoadWord :: !Ptr !Toolbox -> (!Int,!Toolbox);
- LoadWord ptr tb = (LoadWord1 ptr,tb);
-
- LoadWord1 :: !Ptr -> Int;
- LoadWord1 p = code (p=D0)(r=D0){
- instruction 0x2040 || move.l d0,a0
- instruction 0x3010 || move (a0),d0
- instruction 0x48C0 || ext.l d0
- };
-
- StoreLong :: !Ptr !Int !Toolbox -> Toolbox;
- StoreLong ptr v tb = StoreLong1 ptr v;
-
- StoreLong1 :: !Ptr !Int -> *Ptr;
- StoreLong1 p v = code (p=D1,v=D0)(q=D0){
- instruction 0x2041 || move.l d1,a0
- instruction 0x2080 || move.l d0,(a0)
- instruction 0x2001 || move.l d1,d0
- };
-
- StoreWord :: !Ptr !Int !Toolbox -> Toolbox;
- StoreWord ptr v tb = StoreWord1 ptr v;
-
- StoreWord1 :: !Ptr !Int -> *Ptr;
- StoreWord1 p v = code (p=D1,v=D0)(q=D0){
- instruction 0x2041 || move.l d1,a0
- instruction 0x3080 || move.w d0,(a0)
- instruction 0x2001 || move.l d1,d0
- };
-
- StoreByte :: !Ptr !Int !Toolbox -> Toolbox;
- StoreByte ptr v tb = StoreByte1 ptr v;
-
- StoreByte1 :: !Ptr !Int -> *Ptr;
- StoreByte1 p v = code (p=D1,v=D0)(q=D0){
- instruction 0x2041 || move.l d1,a0
- instruction 0x1080 || move.b d0,(a0)
- instruction 0x2001 || move.l d1,d0
- };
-